using System;
using System.Collections.Generic;
using System.Text;

namespace OgilvyOne.Model
{
    public class SysMenuInfo : TreeInfo
    {
        // Fields
        private int iMenu_Sord;
        private int iTem_ID;
        private int iTemListID;
        private int labelId;
        private string Memu_type;
        private string menu_name;
        private string menu_out_url;
        private int menu_uid;
        private DateTime sMenu_Create_Date;
        private DateTime sMenu_Update_Date;
        private string sMenu_Valid;
        private string target_type;
        private string sMENU_ICON;
        private string sMENU_ICON1;
        private string sMENU_ICON2;
        private string sMENU_OTHER;

        // Methods
        public SysMenuInfo(int menu_uid)
        {
            this.menu_out_url = string.Empty;
            this.target_type = string.Empty;
            this.menu_name = string.Empty;
            this.menu_uid = menu_uid;
        }

        public SysMenuInfo(int Parent_Item_ID, string Item_Name, string Item_Desc)
            : base(Parent_Item_ID, Item_Name, Item_Desc)
        {
            this.menu_out_url = string.Empty;
            this.target_type = string.Empty;
            this.menu_name = string.Empty;
        }

        public SysMenuInfo(int Item_ID, int Parent_Item_ID, string Item_Name, string Item_Desc)
            : base(Item_ID, Parent_Item_ID, Item_Name, Item_Desc)
        {
            this.menu_out_url = string.Empty;
            this.target_type = string.Empty;
            this.menu_name = string.Empty;
        }

        public SysMenuInfo(int Item_ID, int Parent_Item_ID, string Item_Name, string Item_Desc, string IsDel)
            : base(Item_ID, Parent_Item_ID, Item_Name, Item_Desc, IsDel)
        {
            this.menu_out_url = string.Empty;
            this.target_type = string.Empty;
            this.menu_name = string.Empty;
        }

        public SysMenuInfo(int Parent_Item_ID, string Menu_Valid, string Item_Name, string Item_Desc, int Menu_Sord, string Link, string IsLeaf)
        {
            this.menu_out_url = string.Empty;
            this.target_type = string.Empty;
            this.menu_name = string.Empty;
            this.sMenu_Valid = Menu_Valid;
            base.iParent_Node_ID = Parent_Item_ID;
            base.sNode_Name = Item_Name;
            base.sNode_Desc = Item_Desc;
            this.iMenu_Sord = Menu_Sord;
            base.sLink = Link;
            base.sIsLeaf = IsLeaf;
        }

        public SysMenuInfo(int Item_ID, string Menu_Valid, int Parent_Item_ID, string Item_Name, string Item_Desc, int Menu_Sord, string Link, string IsLeaf)
        {
            this.menu_out_url = string.Empty;
            this.target_type = string.Empty;
            this.menu_name = string.Empty;
            base.iNode_ID = Item_ID;
            this.sMenu_Valid = Menu_Valid;
            base.iParent_Node_ID = Parent_Item_ID;
            base.sNode_Name = Item_Name;
            base.sNode_Desc = Item_Desc;
            this.iMenu_Sord = Menu_Sord;
            base.sLink = Link;
            base.sIsLeaf = IsLeaf;
        }

        public SysMenuInfo(int Parent_Item_ID, string Menu_Valid, string Item_Name, string Item_Desc, string IsDel, int Menu_Sord, string Link, string IsLeaf, DateTime Menu_Create_Date, DateTime Menu_Update_Date)
        {
            this.menu_out_url = string.Empty;
            this.target_type = string.Empty;
            this.menu_name = string.Empty;
            this.sMenu_Valid = Menu_Valid;
            base.iParent_Node_ID = Parent_Item_ID;
            base.sNode_Name = Item_Name;
            base.sNode_Desc = Item_Desc;
            this.iMenu_Sord = Menu_Sord;
            base.sLink = Link;
            base.sIsLeaf = IsLeaf;
            base.sIsDel = IsDel;
            this.sMenu_Create_Date = Menu_Create_Date;
            this.sMenu_Update_Date = Menu_Update_Date;
        }

        public SysMenuInfo(int Item_ID, string Menu_Valid, int Parent_Item_ID, string Item_Name, string Item_Desc, string IsDel, int Menu_Sord, string Link, string IsLeaf, DateTime Menu_Create_Date, DateTime Menu_Update_Date)
        {
            this.menu_out_url = string.Empty;
            this.target_type = string.Empty;
            this.menu_name = string.Empty;
            base.iNode_ID = Item_ID;
            this.sMenu_Valid = Menu_Valid;
            base.iParent_Node_ID = Parent_Item_ID;
            base.sNode_Name = Item_Name;
            base.sNode_Desc = Item_Desc;
            this.iMenu_Sord = Menu_Sord;
            base.sLink = Link;
            base.sIsLeaf = IsLeaf;
            base.sIsDel = IsDel;
            this.sMenu_Create_Date = Menu_Create_Date;
            this.sMenu_Update_Date = Menu_Update_Date;
        }

        // Properties
        public int LabelId
        {
            get
            {
                return this.labelId;
            }
            set
            {
                this.labelId = value;
            }
        }

        public DateTime Menu_Create_Date
        {
            get
            {
                return this.sMenu_Create_Date;
            }
        }

        public string Menu_name
        {
            get
            {
                return this.menu_name;
            }
            set
            {
                this.menu_name = value;
            }
        }

        public string Menu_out_url
        {
            get
            {
                if (string.IsNullOrEmpty(this.menu_out_url))
                {
                    return string.Empty;
                }
                return this.menu_out_url;
            }
            set
            {
                this.menu_out_url = value;
            }
        }

        public int Menu_Sord
        {
            get
            {
                return this.iMenu_Sord;
            }
            set
            {
                this.iMenu_Sord = value;
            }
        }

        public string Menu_Type
        {
            get
            {
                return this.Memu_type;
            }
            set
            {
                this.Memu_type = value;
            }
        }

        public int Menu_uid
        {
            get
            {
                return this.menu_uid;
            }
            set
            {
                this.menu_uid = value;
            }
        }

        public DateTime Menu_Update_Date
        {
            get
            {
                return this.sMenu_Update_Date;
            }
        }

        public string Menu_Valid
        {
            get
            {
                return this.sMenu_Valid;
            }
        }

        public string target
        {
            get
            {
                return this.target_type;
            }
            set
            {
                this.target_type = value;
            }
        }

        public int Tem_ID
        {
            get
            {
                return this.iTem_ID;
            }
            set
            {
                this.iTem_ID = value;
            }
        }

        public int Tem_list_ID
        {
            get
            {
                return this.iTemListID;
            }
            set
            {
                this.iTemListID = value;
            }
        }

        public string MENU_ICON
        {
            get { return sMENU_ICON; }
            set { sMENU_ICON = value; }
        }
        public string MENU_ICON1
        {
            get { return sMENU_ICON1; }
            set { sMENU_ICON1 = value; }
        }
        public string MENU_ICON2
        {
            get { return sMENU_ICON2; }
            set { sMENU_ICON2 = value; }
        }
        public string MENU_OTHER
        {
            get { return sMENU_OTHER; }
            set { sMENU_OTHER = value; }
        }

    }
}
